package org.coopac.controller.plataforma;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

import org.coopac.controller.simulador.DatosSimulacionCredito;
import org.coopac.controller.util.MaestroController;
import org.coopac.model.CoopacDireccionPersona;
import org.coopac.model.CoopacDocumentoPersona;
import org.coopac.model.CoopacPersona;
import org.coopac.model.CoopacTelefonoPersona;
import org.coopac.model.CoopacTipoMaestro;
import org.coopac.model.CoopacUbigeo;
import org.coopac.reportes.CoopacReporte;
import org.coopac.service.IDireccionPersonaService;
import org.coopac.service.IDocumentoPersonaService;
import org.coopac.service.IPersonaService;
import org.coopac.service.ITelefonoPersonaService;
import org.coopac.service.ITipoMaestroService;
import org.coopac.service.IUbigeoService;
import org.coopac.util.WorkingDirectory;

@ManagedBean(name="solicPersona")
@ViewScoped
public class SolicitudSocioPController implements Serializable{
	
	@ManagedProperty(value = 	"#{personaService}")
	IPersonaService 			personaServicio;

	@ManagedProperty(value = 	"#{telefonoPersonaService}")
	ITelefonoPersonaService 	telefonoService;

	@ManagedProperty(value = 	"#{documentoPersonaService}")
	IDocumentoPersonaService 	documentoService;

	@ManagedProperty(value = 	"#{direccionPersonaService}")
	IDireccionPersonaService 	direccionService;

	@ManagedProperty(value = 	"#{tipoMaestroService}")
	ITipoMaestroService 		tipoMaestroService;
	
	@ManagedProperty(value = 	"#{ubigeoService}")
	IUbigeoService 				ubigeoService;


	CoopacPersona 				personaN;
	CoopacDocumentoPersona 		documentoPersonaN;
	CoopacTelefonoPersona 		telefonoPersonaN;
	CoopacDireccionPersona 		direccionPersonaN;

	
	CoopacTipoMaestro			tipoPersona,
								tipoDocumentoN,
								tipoEstadoCivilN,
								tipoTelefonoN,
								tipoZonaN,
								tipoViaN,
								tipoViviendaN;
	

	CoopacUbigeo 				distritoN;
	
	String						numdocumentoPersonaN;
								
	
	Boolean						disableBtnAddPersonaN,
								disableBtnClearPersonaN,
								disableBtnEditPersonaN,
								disableBtnPrintPersonaN,
								required;
	
	List<String>				listaPersonas;
	
	/**
	 * Constructor
	 */
	public SolicitudSocioPController(){
		
		personaN 					=	 new CoopacPersona();
		documentoPersonaN 			= 	 new CoopacDocumentoPersona();
		telefonoPersonaN			= 	 new CoopacTelefonoPersona();
		direccionPersonaN 			= 	 new CoopacDireccionPersona();
		tipoPersona					=	 new CoopacTipoMaestro();
		tipoDocumentoN				=	 new CoopacTipoMaestro();
		tipoEstadoCivilN			=	 new CoopacTipoMaestro();
		tipoTelefonoN				=	 new CoopacTipoMaestro();
		tipoZonaN					=	 new CoopacTipoMaestro();
		tipoViaN					=	 new CoopacTipoMaestro();
		tipoViviendaN				=	 new CoopacTipoMaestro();
		distritoN					=	 new CoopacUbigeo();
		disableBtnAddPersonaN		=	 true;
		disableBtnClearPersonaN		=	 true;
		disableBtnEditPersonaN		=    true;
		disableBtnPrintPersonaN		=    true;
		required					=    false;
	}
	
	
	public Boolean getDisableBtnAddPersonaN() {
		return disableBtnAddPersonaN;
	}

	public void setDisableBtnAddPersonaN(Boolean disableBtnAddPersonaN) {
		this.disableBtnAddPersonaN = disableBtnAddPersonaN;
	}

	public Boolean getDisableBtnClearPersonaN() {
		return disableBtnClearPersonaN;
	}

	public void setDisableBtnClearPersonaN(Boolean disableBtnClearPersonaN) {
		this.disableBtnClearPersonaN = disableBtnClearPersonaN;
	}

	public Boolean getDisableBtnEditPersonaN() {
		return disableBtnEditPersonaN;
	}

	public void setDisableBtnEditPersonaN(Boolean disableBtnEditPersonaN) {
		this.disableBtnEditPersonaN = disableBtnEditPersonaN;
	}

	public Boolean getDisableBtnPrintPersonaN() {
		return disableBtnPrintPersonaN;
	}


	public void setDisableBtnPrintPersonaN(Boolean disableBtnPrintPersonaN) {
		this.disableBtnPrintPersonaN = disableBtnPrintPersonaN;
	}

	public Boolean getRequired() {
		return required;
	}

	public void setRequired(Boolean required) {
		this.required = required;
	}

	public List<String> getListaPersonas() {
		return listaPersonas;
	}

	public void setListaPersonas(List<String> listaPersonas) {
		this.listaPersonas = listaPersonas;
	}

	public IPersonaService getPersonaServicio() {
		return personaServicio;
	}

	public void setPersonaServicio(IPersonaService personaServicio) {
		this.personaServicio = personaServicio;
	}

	public CoopacPersona getPersonaN() {
		return personaN;
	}

	public void setPersonaN(CoopacPersona personaN) {
		this.personaN = personaN;
	}

	public IDocumentoPersonaService getDocumentoService() {
		return documentoService;
	}

	public void setDocumentoService(IDocumentoPersonaService documentoService) {
		this.documentoService = documentoService;
	}

	public CoopacDocumentoPersona getDocumentoPersonaN() {
		return documentoPersonaN;
	}

	public void setDocumentoPersonaN(CoopacDocumentoPersona documentoPersonaN) {
		this.documentoPersonaN = documentoPersonaN;
	}

	public ITelefonoPersonaService getTelefonoService() {
		return telefonoService;
	}

	public void setTelefonoService(ITelefonoPersonaService telefonoService) {
		this.telefonoService = telefonoService;
	}

	public CoopacTelefonoPersona getTelefonoPersonaN() {
		return telefonoPersonaN;
	}

	public void setTelefonoPersonaN(CoopacTelefonoPersona telefonoPersonaN) {
		this.telefonoPersonaN = telefonoPersonaN;
	}

	public IDireccionPersonaService getDireccionService() {
		return direccionService;
	}

	public void setDireccionService(IDireccionPersonaService direccionService) {
		this.direccionService = direccionService;
	}

	public CoopacDireccionPersona getDireccionPersonaN() {
		return direccionPersonaN;
	}

	public void setDireccionPersonaN(CoopacDireccionPersona direccionPersonaN) {
		this.direccionPersonaN = direccionPersonaN;
	}

	public IUbigeoService getUbigeoService() {
		return ubigeoService;
	}

	public void setUbigeoService(IUbigeoService ubigeoService) {
		this.ubigeoService = ubigeoService;
	}

	public ITipoMaestroService getTipoMaestroService() {
		return tipoMaestroService;
	}

	public void setTipoMaestroService(ITipoMaestroService tipoMaestroService) {
		this.tipoMaestroService = tipoMaestroService;
	}

	public CoopacTipoMaestro getTipoPersona() {
		return tipoPersona;
	}

	public void setTipoPersona(CoopacTipoMaestro tipoPersona) {
		this.tipoPersona = tipoPersona;
	}

	public CoopacTipoMaestro getTipoDocumentoN() {
		return tipoDocumentoN;
	}

	public void setTipoDocumentoN(CoopacTipoMaestro tipoDocumentoN) {
		this.tipoDocumentoN = tipoDocumentoN;
	}

	public CoopacTipoMaestro getTipoEstadoCivilN() {
		return tipoEstadoCivilN;
	}

	public void setTipoEstadoCivilN(CoopacTipoMaestro tipoEstadoCivilN) {
		this.tipoEstadoCivilN = tipoEstadoCivilN;
	}

	public CoopacTipoMaestro getTipoTelefonoN() {
		return tipoTelefonoN;
	}

	public void setTipoTelefonoN(CoopacTipoMaestro tipoTelefonoN) {
		this.tipoTelefonoN = tipoTelefonoN;
	}

	public CoopacTipoMaestro getTipoZonaN() {
		return tipoZonaN;
	}

	public void setTipoZonaN(CoopacTipoMaestro tipoZonaN) {
		this.tipoZonaN = tipoZonaN;
	}

	public CoopacTipoMaestro getTipoViaN() {
		return tipoViaN;
	}

	public void setTipoViaN(CoopacTipoMaestro tipoViaN) {
		this.tipoViaN = tipoViaN;
	}

	public CoopacTipoMaestro getTipoViviendaN() {
		return tipoViviendaN;
	}

	public void setTipoViviendaN(CoopacTipoMaestro tipoViviendaN) {
		this.tipoViviendaN = tipoViviendaN;
	}

	public CoopacUbigeo getDistritoN() {
		return distritoN;
	}

	public void setDistritoN(CoopacUbigeo distritoN) {
		this.distritoN = distritoN;
	}
	
	public String getNumdocumentoPersonaN() {
		return numdocumentoPersonaN;
	}

	public void setNumdocumentoPersonaN(String numdocumentoPersonaN) {
		this.numdocumentoPersonaN = numdocumentoPersonaN;
	}

	
	public List<String> autoCompletado(String query){
		listaPersonas = personaServicio.listarPersonaDocumento();
		List<String> results = new ArrayList<String>();  
        int limite = 0;
		try {
	        for (String persona:listaPersonas) {  
	        	if(persona.toUpperCase().indexOf(query.toUpperCase())>=0 && limite<=10 && query!=" "){
	        		results.add(persona);
	        	}
	        	limite++;
	        }  
		} catch (Exception e) {
			e.printStackTrace();
		}
          
        return results; 
		  
	}

	public void newbtnPeronsN(ActionEvent event){
		required					= 	 true;
		disableBtnAddPersonaN		=	 false;
		disableBtnClearPersonaN		=	 false;
		disableBtnEditPersonaN		=    true;
		disableBtnPrintPersonaN		=    true;
		
	}
	
	public void addSolicPersona(ActionEvent event){
			
		tipoPersona.setIdTipoMaestro(51);
		personaN.setCoopacTipoMaestroByIdTipoMaestroPersona(tipoPersona);
		personaN.setCoopacTipoMaestroByIdTipoMaestroEstadoCivil(tipoEstadoCivilN);
		personaN.setFlag(true);
			
		documentoPersonaN.setCoopacPersona(personaN);
		documentoPersonaN.setCoopacTipoMaestro(tipoDocumentoN);
		documentoPersonaN.setFlag(true);
		
		telefonoPersonaN.setCoopacPersona(personaN);
		telefonoPersonaN.setCoopacTipoMaestro(tipoTelefonoN);
		
		direccionPersonaN.setCoopacPersona(personaN);
		direccionPersonaN.setCoopacTipoMaestroByIdTipoMaestroZona(tipoZonaN);
		direccionPersonaN.setCoopacTipoMaestroByIdTipoMaestroVivienda(tipoViviendaN);
		direccionPersonaN.setCoopacTipoMaestroByIdTipoMaestroVia(tipoViaN);
		direccionPersonaN.setCoopacUbigeo(distritoN);
		direccionPersonaN.setFlag(true);
		System.out.println("grab"+personaN.getIdPersona());
		if(personaN.getIdPersona()!= null){
			personaServicio.update(personaN);
			documentoService.update(documentoPersonaN);
			telefonoService.update(telefonoPersonaN);
			direccionService.update(direccionPersonaN);
			
		}else{
			personaServicio.save(personaN);
			documentoService.save(documentoPersonaN);
			telefonoService.save(telefonoPersonaN);
			direccionService.save(direccionPersonaN);	
			personaN.setIdPersona(null);
		}
		
		disableBtnAddPersonaN		=	 true;
		disableBtnClearPersonaN		=	 true;
		disableBtnEditPersonaN		=    false;
		disableBtnPrintPersonaN		=    false;
	}
	
	public void buscarByNumDocumento(ActionEvent event) {
		
		try {
			String numdoc;
			if(numdocumentoPersonaN!=""){
				numdoc = numdocumentoPersonaN.substring(numdocumentoPersonaN.lastIndexOf("-")+2);
			}else{
				numdoc = "";
			}
			if(documentoService.getPersonaByDocumento(numdoc)!=null){
			
			disableBtnAddPersonaN		=	 true;
			disableBtnClearPersonaN		=	 true;
			disableBtnEditPersonaN		=    false;
			disableBtnPrintPersonaN		=    false;
			
			documentoPersonaN  	=  documentoService.getPersonaByDocumento(numdoc);
			Integer idpersona 	=  documentoPersonaN.getCoopacPersona().getIdPersona();
//			if(!idpersona.equals("") || !idpersona.equals(null) ) 
//				btnEditar = true; btnGrabar = false;
			personaN = personaServicio.getById(idpersona);				
			System.out.println(""+personaN.getIdPersona());
			telefonoPersonaN 	=  telefonoService.getTelefonoByPersona(idpersona);
			direccionPersonaN 	=  direccionService.getDireccionByPersona(idpersona);
			
			tipoPersona.setIdTipoMaestro(personaN.getCoopacTipoMaestroByIdTipoMaestroPersona().getIdTipoMaestro());
			tipoDocumentoN.setIdTipoMaestro(documentoPersonaN.getCoopacTipoMaestro().getIdTipoMaestro());
			tipoEstadoCivilN.setIdTipoMaestro(personaN.getCoopacTipoMaestroByIdTipoMaestroEstadoCivil().getIdTipoMaestro());
			tipoTelefonoN.setIdTipoMaestro(telefonoPersonaN.getCoopacTipoMaestro().getIdTipoMaestro());
			tipoZonaN.setIdTipoMaestro(direccionPersonaN.getCoopacTipoMaestroByIdTipoMaestroZona().getIdTipoMaestro());
			tipoViaN.setIdTipoMaestro(direccionPersonaN.getCoopacTipoMaestroByIdTipoMaestroVia().getIdTipoMaestro());
			tipoViviendaN.setIdTipoMaestro(direccionPersonaN.getCoopacTipoMaestroByIdTipoMaestroVivienda().getIdTipoMaestro());
			}else{
				
				required					=	 false;
				disableBtnAddPersonaN		=	 true;
				disableBtnClearPersonaN		=	 true;
				disableBtnEditPersonaN		=    true;
				disableBtnPrintPersonaN		=    true;
				
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	public void editPersona(ActionEvent event){
//		System.out.println("editando");
		required					=	 true;
		disableBtnAddPersonaN		=	 false;
		disableBtnClearPersonaN		=	 false;
		disableBtnEditPersonaN		=    true;
		disableBtnPrintPersonaN		=    true;
		
		
//		openDatoLabo 				= true;
//		openDatConyFam				= true;
//		openDataIntegrateFam		= true;
//		disableBtnAddPersonaN		= false;
//		disableBtnClearPersonaN		= false;
//		disableBtnEditPersonaN		= true;
//		required					= true;
	}
	
	public void clearPersonaN(ActionEvent event){
		personaN.setApellidoPaternoRazonSocial("");
		personaN.setApellidoMaterno("");
		personaN.setNombrePersonaNombreComercial("");
		personaN.setOcupacion("");
		personaN.setPaginaWeb("");
		personaN.setProfesion("");
		personaN.setEmail("");
		personaN.setSexo("");
		documentoPersonaN.setNumero("");
		
//		telefonoFijoPersonaN.setNumero("");
//		telefonoFijoPersonaN.setAnexo("");
//		telefonoCelPersonaN.setNumero("");
//		telefonoOtrosPersonaN.setNumero("");
//		telefonoOtrosPersonaN.setAnexo("");
		
		
		direccionPersonaN.setNombreZona("");
		direccionPersonaN.setNombreVia("");
		direccionPersonaN.setNumero("");
		direccionPersonaN.setDepartamento("");
		direccionPersonaN.setInterior("");
		direccionPersonaN.setManzana("");
		direccionPersonaN.setLote("");
		direccionPersonaN.setKilometro("");
		direccionPersonaN.setReferencia("");
		
		
		
		tipoDocumentoN.setIdTipoMaestro(null);
		tipoEstadoCivilN.setIdTipoMaestro(null);
//		tipoGradoEstudioN.setIdTipoMaestro(null);
//		tipoFijoN.setIdTipoMaestro(null);
//		tipoCelN.setIdTipoMaestro(null);
		tipoTelefonoN.setIdTipoMaestro(null);
		tipoZonaN.setIdTipoMaestro(null);
		tipoViviendaN.setIdTipoMaestro(null);
		tipoViaN.setIdTipoMaestro(null);
		distritoN.setIdUbigeo(null);
		
		numdocumentoPersonaN 		= "";
//		openDatoLabo 				= true;
//		openDatConyFam				= true;
//		openDataIntegrateFam		= true;
//		existingSearch				= false;
			
	}
	
	/*CALCULAR FECHA ACTUAL*/
	SimpleDateFormat formatoDeFecha;
	Calendar fechaActual; 
	String fechaActualFijoFormato = "";
	public void calcularFechaActual(){
	 	java.util.Date utilDate = new java.util.Date();
		formatoDeFecha = new SimpleDateFormat("dd/MM/yyyy");
		fechaActual = Calendar.getInstance();
		fechaActual.setTime(utilDate);
	}
	/*CALCULAR FECHA ACTUAL*/
	
	/*IMPRIMIR EN PDF*/
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void toPDF() throws IOException, JRException{
		
		/*CREAR DIRECTORIO DE DESTINO DE LOS ARCHIVOSs*/
		String rutaDestino = System.getProperties().getProperty("user.home")+"\\SistemaCoopac\\Reportes\\";
		new File(rutaDestino).mkdirs();
		/*CREAR DIRECTORIO DE DESTINO DE LOS ARCHIVOS*/
		
		/*LEER RUTA DE EJECUCION DE LOS REPORTES*/
        WorkingDirectory directory = new WorkingDirectory();
        String ruta = directory.getPath();
        ruta = ruta.substring(0, ruta.length()-5);
        ruta = ruta + "\\reportes\\";
        System.out.println(ruta);
        /*LEER RUTA DE EJECUCION DE LOS REPORTES*/
        
        /*INSERCION DE DATOS EN UN HASHMAP PARA PASARLOS AL REPORTE*/
		HashMap datosEnviados = new HashMap();
	 	java.util.Date utilDate = new java.util.Date();
		formatoDeFecha = new SimpleDateFormat("dd/MM/yyyy");
		Calendar fechaActual = Calendar.getInstance();
		fechaActual.setTime(utilDate);
		
		String nombreCompletoIR = personaN.getApellidoPaternoRazonSocial() + " " + personaN.getApellidoMaterno() + ", " + 
			personaN.getNombrePersonaNombreComercial();
		String numeroDocumentoIR = documentoPersonaN.getNumero();
		String tipoDocumentoIR = tipoMaestroService.getById(tipoDocumentoN.getIdTipoMaestro()).getNombre();
		String domicilioIR = "";
		
		if(tipoZonaN.getIdTipoMaestro() !=0){
			domicilioIR = domicilioIR + tipoMaestroService.getById(tipoZonaN.getIdTipoMaestro()).getNombre() + " " + direccionPersonaN.getNombreZona()+ " ";
		}
		if(tipoViaN.getIdTipoMaestro() !=0){
			domicilioIR = domicilioIR + tipoMaestroService.getById(tipoViaN.getIdTipoMaestro()).getNombre() + " " + direccionPersonaN.getNombreVia()+ " ";
		}
		if(direccionPersonaN.getNumero().trim() != ""){
			domicilioIR = domicilioIR + "Num. " + direccionPersonaN.getNumero() + " ";
		}
		if(direccionPersonaN.getDepartamento().trim() != ""){
			domicilioIR = domicilioIR + "Dpto. " + direccionPersonaN.getDepartamento()+" ";
		}
		if(direccionPersonaN.getInterior().trim() != ""){
			domicilioIR = domicilioIR + "Int. " + direccionPersonaN.getInterior()+" ";
		}
		if(direccionPersonaN.getManzana().trim() != ""){
			domicilioIR = domicilioIR + "Man. " + direccionPersonaN.getManzana()+" ";
		}
		if(direccionPersonaN.getLote().trim() != ""){
			domicilioIR = domicilioIR + "Lot. " + direccionPersonaN.getLote()+" ";
		}
		if(direccionPersonaN.getInterior().trim() != ""){
			domicilioIR = domicilioIR + "Int. " + direccionPersonaN.getInterior()+" ";
		}
		String distritoIR = ubigeoService.getById(distritoN.getIdUbigeo()).getNombreUbigeo();
		
		String provinciaIR = distritoIR;
		String departamentoIR = distritoIR;
		
		String numeroTelefonoIR = telefonoPersonaN.getNumero();
		String anexoTelefonoIR;
		if(telefonoPersonaN.getAnexo().trim() != null){
			anexoTelefonoIR = telefonoPersonaN.getAnexo();
		} else anexoTelefonoIR = "-";
		
		
		String estadoCivilIR = tipoMaestroService.getById(tipoEstadoCivilN.getIdTipoMaestro()).getNombre();
		String emailIR = personaN.getEmail();
		
//		datosEnviados.put("nombreCompletoIR", nombreCompletoIR);
//		datosEnviados.put("numeroDocumentoIR", numeroDocumentoIR);
//		datosEnviados.put("tipoDocumentoIR", tipoDocumentoIR);
//		datosEnviados.put("domicilioIR", domicilioIR);
//		datosEnviados.put("distritoIR", distritoIR);
//		datosEnviados.put("provinciaIR", provinciaIR);
//		datosEnviados.put("departamentoIR", departamentoIR);
//		datosEnviados.put("numeroTelefonoIR", numeroTelefonoIR);
//		datosEnviados.put("anexoTelefonoIR", anexoTelefonoIR);
//		datosEnviados.put("estadoCivilIR", estadoCivilIR);
//		datosEnviados.put("emailIR", emailIR);
		
		System.out.println(nombreCompletoIR);
		System.out.println(numeroDocumentoIR);
		System.out.println(tipoDocumentoIR);
		System.out.println(domicilioIR);
		System.out.println(distritoIR);
		System.out.println(provinciaIR);
		System.out.println(departamentoIR);
		System.out.println(numeroDocumentoIR);
		System.out.println(anexoTelefonoIR);
		System.out.println(estadoCivilIR);
		System.out.println(emailIR);
		
		CoopacReporte coopacReporte = new CoopacReporte(nombreCompletoIR, numeroDocumentoIR, tipoDocumentoIR, domicilioIR, provinciaIR, distritoIR, departamentoIR, numeroTelefonoIR, anexoTelefonoIR, estadoCivilIR, emailIR);
		List<CoopacReporte> datosSolicitudSocio = new ArrayList<CoopacReporte>();
		datosSolicitudSocio.add(coopacReporte);
		JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(datosSolicitudSocio);
		
		//List<DatosSimulacionCredito> datosSimulacionCreditos = listaDatosSimulacionCredito;
		//JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(datosSimulacionCreditos);
		/*INSERCION DE DATOS EN UN HASHMAP PARA PASARLOS AL REPORTE*/
		
		/*DATOS PARA EL ARCHIVO DE DESTINO*/
		Calendar fechaActualFijo = fechaActual;
		SimpleDateFormat formatoDeFechaArchivo = new SimpleDateFormat("dd_MM_yyyy-HH_mm_ss_SSSSSS");
		fechaActualFijoFormato = formatoDeFechaArchivo.format(fechaActualFijo.getTime());
		/*DATOS PARA EL ARCHIVO DE DESTINO*/
		
		//JasperReport reporteCompilado = JasperCompileManager.compileReport(rutaRelativa+"reporteSimuladorCredito.jrxml");
		JasperPrint jasperPrint = 
			JasperFillManager.fillReport((ruta+"SolicitudIngresoSocio.jasper"), datosEnviados, beanCollectionDataSource);
		JasperExportManager.
		exportReportToPdfFile(jasperPrint,
		(rutaDestino+"solicitud_ingreso_socio"+"_"+personaN.getApellidoPaternoRazonSocial()+"_"+personaN.getApellidoMaterno()+"_"+fechaActualFijoFormato+".pdf"));
		
		File pdf = File.createTempFile("output.", ".pdf");
		JasperExportManager.exportReportToPdfStream(jasperPrint,new FileOutputStream(pdf));
		JasperViewer.viewReport(jasperPrint, false);
			
	}
	/*IMPRIMIR EN PDF*/
	
	
	
}
